package org.example.mapper;

import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.example.model.User;

import java.time.LocalDateTime;

@Mapper
public interface UserMapper {
    /**
     * 根据用户名查询用户
     **/
    @Select("select * from user where username=#{username}")
    public User findByUserName(String username);

    @Insert("insert  into user(username, password, create_time, update_time) " +
            "values (#{username}, #{password}, now(), now())")
    public void add(String username, String password) ;

    @Update("update user set nickname=#{nickname},email=#{email},update_time=#{updateTime} where id=#{id}")
    public void updata(User user);

    @Update("update user set user_pic=#{avatarUrl},update_time=#{updateTime} where id=#{id}")
    void updateAvatar(Number id, String avatarUrl, LocalDateTime updateTime);

    @Update("update user set password=#{password},update_time=#{updateTime} where id=#{id}")
    void updatePassword(Number id, String password, LocalDateTime updateTime);
}
